// 存在重复元素
// 方式一，时间复杂度高
// var containsDuplicate = function (nums) {
//   return new Set(nums).size !== nums.length;
// };

// 方式二：时间复杂度高
// var containsDuplicate = function (nums) {
//   const _nums = [];
//   for (const element of nums) {
//     if (_nums.some((num) => num === element)) {
//       return true;
//     } else {
//       _nums.push(element);
//     }
//   }
//   return false;
// };

var containsDuplicate = function (nums) {
  const set = new Set();
  for (const element of nums) {
    if (set.has(element)) {
      return true;
    }
    set.add(element);
  }
  return false;
};

const ans = containsDuplicate([3, 2, 2, 1]);
console.log("ans: ", ans);
